package com.bibliotecachancay.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class LibrosExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public LibrosExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andCodLibroIsNull() {
            addCriterion("COD_LIBRO is null");
            return (Criteria) this;
        }

        public Criteria andCodLibroIsNotNull() {
            addCriterion("COD_LIBRO is not null");
            return (Criteria) this;
        }

        public Criteria andCodLibroEqualTo(String value) {
            addCriterion("COD_LIBRO =", value, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodLibroNotEqualTo(String value) {
            addCriterion("COD_LIBRO <>", value, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodLibroGreaterThan(String value) {
            addCriterion("COD_LIBRO >", value, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodLibroGreaterThanOrEqualTo(String value) {
            addCriterion("COD_LIBRO >=", value, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodLibroLessThan(String value) {
            addCriterion("COD_LIBRO <", value, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodLibroLessThanOrEqualTo(String value) {
            addCriterion("COD_LIBRO <=", value, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodLibroLike(String value) {
            addCriterion("COD_LIBRO like", value, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodLibroNotLike(String value) {
            addCriterion("COD_LIBRO not like", value, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodLibroIn(List<String> values) {
            addCriterion("COD_LIBRO in", values, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodLibroNotIn(List<String> values) {
            addCriterion("COD_LIBRO not in", values, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodLibroBetween(String value1, String value2) {
            addCriterion("COD_LIBRO between", value1, value2, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodLibroNotBetween(String value1, String value2) {
            addCriterion("COD_LIBRO not between", value1, value2, "codLibro");
            return (Criteria) this;
        }

        public Criteria andCodAutorIsNull() {
            addCriterion("COD_AUTOR is null");
            return (Criteria) this;
        }

        public Criteria andCodAutorIsNotNull() {
            addCriterion("COD_AUTOR is not null");
            return (Criteria) this;
        }

        public Criteria andCodAutorEqualTo(Integer value) {
            addCriterion("COD_AUTOR =", value, "codAutor");
            return (Criteria) this;
        }

        public Criteria andCodAutorNotEqualTo(Integer value) {
            addCriterion("COD_AUTOR <>", value, "codAutor");
            return (Criteria) this;
        }

        public Criteria andCodAutorGreaterThan(Integer value) {
            addCriterion("COD_AUTOR >", value, "codAutor");
            return (Criteria) this;
        }

        public Criteria andCodAutorGreaterThanOrEqualTo(Integer value) {
            addCriterion("COD_AUTOR >=", value, "codAutor");
            return (Criteria) this;
        }

        public Criteria andCodAutorLessThan(Integer value) {
            addCriterion("COD_AUTOR <", value, "codAutor");
            return (Criteria) this;
        }

        public Criteria andCodAutorLessThanOrEqualTo(Integer value) {
            addCriterion("COD_AUTOR <=", value, "codAutor");
            return (Criteria) this;
        }

        public Criteria andCodAutorIn(List<Integer> values) {
            addCriterion("COD_AUTOR in", values, "codAutor");
            return (Criteria) this;
        }

        public Criteria andCodAutorNotIn(List<Integer> values) {
            addCriterion("COD_AUTOR not in", values, "codAutor");
            return (Criteria) this;
        }

        public Criteria andCodAutorBetween(Integer value1, Integer value2) {
            addCriterion("COD_AUTOR between", value1, value2, "codAutor");
            return (Criteria) this;
        }

        public Criteria andCodAutorNotBetween(Integer value1, Integer value2) {
            addCriterion("COD_AUTOR not between", value1, value2, "codAutor");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaIsNull() {
            addCriterion("ID_CATEGORIA is null");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaIsNotNull() {
            addCriterion("ID_CATEGORIA is not null");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaEqualTo(String value) {
            addCriterion("ID_CATEGORIA =", value, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaNotEqualTo(String value) {
            addCriterion("ID_CATEGORIA <>", value, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaGreaterThan(String value) {
            addCriterion("ID_CATEGORIA >", value, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaGreaterThanOrEqualTo(String value) {
            addCriterion("ID_CATEGORIA >=", value, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaLessThan(String value) {
            addCriterion("ID_CATEGORIA <", value, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaLessThanOrEqualTo(String value) {
            addCriterion("ID_CATEGORIA <=", value, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaLike(String value) {
            addCriterion("ID_CATEGORIA like", value, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaNotLike(String value) {
            addCriterion("ID_CATEGORIA not like", value, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaIn(List<String> values) {
            addCriterion("ID_CATEGORIA in", values, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaNotIn(List<String> values) {
            addCriterion("ID_CATEGORIA not in", values, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaBetween(String value1, String value2) {
            addCriterion("ID_CATEGORIA between", value1, value2, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andIdCategoriaNotBetween(String value1, String value2) {
            addCriterion("ID_CATEGORIA not between", value1, value2, "idCategoria");
            return (Criteria) this;
        }

        public Criteria andNomLibroIsNull() {
            addCriterion("NOM_LIBRO is null");
            return (Criteria) this;
        }

        public Criteria andNomLibroIsNotNull() {
            addCriterion("NOM_LIBRO is not null");
            return (Criteria) this;
        }

        public Criteria andNomLibroEqualTo(String value) {
            addCriterion("NOM_LIBRO =", value, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andNomLibroNotEqualTo(String value) {
            addCriterion("NOM_LIBRO <>", value, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andNomLibroGreaterThan(String value) {
            addCriterion("NOM_LIBRO >", value, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andNomLibroGreaterThanOrEqualTo(String value) {
            addCriterion("NOM_LIBRO >=", value, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andNomLibroLessThan(String value) {
            addCriterion("NOM_LIBRO <", value, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andNomLibroLessThanOrEqualTo(String value) {
            addCriterion("NOM_LIBRO <=", value, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andNomLibroLike(String value) {
            addCriterion("NOM_LIBRO like", value, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andNomLibroNotLike(String value) {
            addCriterion("NOM_LIBRO not like", value, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andNomLibroIn(List<String> values) {
            addCriterion("NOM_LIBRO in", values, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andNomLibroNotIn(List<String> values) {
            addCriterion("NOM_LIBRO not in", values, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andNomLibroBetween(String value1, String value2) {
            addCriterion("NOM_LIBRO between", value1, value2, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andNomLibroNotBetween(String value1, String value2) {
            addCriterion("NOM_LIBRO not between", value1, value2, "nomLibro");
            return (Criteria) this;
        }

        public Criteria andDescripcionIsNull() {
            addCriterion("DESCRIPCION is null");
            return (Criteria) this;
        }

        public Criteria andDescripcionIsNotNull() {
            addCriterion("DESCRIPCION is not null");
            return (Criteria) this;
        }

        public Criteria andDescripcionEqualTo(String value) {
            addCriterion("DESCRIPCION =", value, "descripcion");
            return (Criteria) this;
        }

        public Criteria andDescripcionNotEqualTo(String value) {
            addCriterion("DESCRIPCION <>", value, "descripcion");
            return (Criteria) this;
        }

        public Criteria andDescripcionGreaterThan(String value) {
            addCriterion("DESCRIPCION >", value, "descripcion");
            return (Criteria) this;
        }

        public Criteria andDescripcionGreaterThanOrEqualTo(String value) {
            addCriterion("DESCRIPCION >=", value, "descripcion");
            return (Criteria) this;
        }

        public Criteria andDescripcionLessThan(String value) {
            addCriterion("DESCRIPCION <", value, "descripcion");
            return (Criteria) this;
        }

        public Criteria andDescripcionLessThanOrEqualTo(String value) {
            addCriterion("DESCRIPCION <=", value, "descripcion");
            return (Criteria) this;
        }

        public Criteria andDescripcionLike(String value) {
            addCriterion("DESCRIPCION like", value, "descripcion");
            return (Criteria) this;
        }

        public Criteria andDescripcionNotLike(String value) {
            addCriterion("DESCRIPCION not like", value, "descripcion");
            return (Criteria) this;
        }

        public Criteria andDescripcionIn(List<String> values) {
            addCriterion("DESCRIPCION in", values, "descripcion");
            return (Criteria) this;
        }

        public Criteria andDescripcionNotIn(List<String> values) {
            addCriterion("DESCRIPCION not in", values, "descripcion");
            return (Criteria) this;
        }

        public Criteria andDescripcionBetween(String value1, String value2) {
            addCriterion("DESCRIPCION between", value1, value2, "descripcion");
            return (Criteria) this;
        }

        public Criteria andDescripcionNotBetween(String value1, String value2) {
            addCriterion("DESCRIPCION not between", value1, value2, "descripcion");
            return (Criteria) this;
        }

        public Criteria andEditorialIsNull() {
            addCriterion("EDITORIAL is null");
            return (Criteria) this;
        }

        public Criteria andEditorialIsNotNull() {
            addCriterion("EDITORIAL is not null");
            return (Criteria) this;
        }

        public Criteria andEditorialEqualTo(String value) {
            addCriterion("EDITORIAL =", value, "editorial");
            return (Criteria) this;
        }

        public Criteria andEditorialNotEqualTo(String value) {
            addCriterion("EDITORIAL <>", value, "editorial");
            return (Criteria) this;
        }

        public Criteria andEditorialGreaterThan(String value) {
            addCriterion("EDITORIAL >", value, "editorial");
            return (Criteria) this;
        }

        public Criteria andEditorialGreaterThanOrEqualTo(String value) {
            addCriterion("EDITORIAL >=", value, "editorial");
            return (Criteria) this;
        }

        public Criteria andEditorialLessThan(String value) {
            addCriterion("EDITORIAL <", value, "editorial");
            return (Criteria) this;
        }

        public Criteria andEditorialLessThanOrEqualTo(String value) {
            addCriterion("EDITORIAL <=", value, "editorial");
            return (Criteria) this;
        }

        public Criteria andEditorialLike(String value) {
            addCriterion("EDITORIAL like", value, "editorial");
            return (Criteria) this;
        }

        public Criteria andEditorialNotLike(String value) {
            addCriterion("EDITORIAL not like", value, "editorial");
            return (Criteria) this;
        }

        public Criteria andEditorialIn(List<String> values) {
            addCriterion("EDITORIAL in", values, "editorial");
            return (Criteria) this;
        }

        public Criteria andEditorialNotIn(List<String> values) {
            addCriterion("EDITORIAL not in", values, "editorial");
            return (Criteria) this;
        }

        public Criteria andEditorialBetween(String value1, String value2) {
            addCriterion("EDITORIAL between", value1, value2, "editorial");
            return (Criteria) this;
        }

        public Criteria andEditorialNotBetween(String value1, String value2) {
            addCriterion("EDITORIAL not between", value1, value2, "editorial");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionIsNull() {
            addCriterion("ANIO_PUBLICACION is null");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionIsNotNull() {
            addCriterion("ANIO_PUBLICACION is not null");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionEqualTo(Date value) {
            addCriterionForJDBCDate("ANIO_PUBLICACION =", value, "anioPublicacion");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionNotEqualTo(Date value) {
            addCriterionForJDBCDate("ANIO_PUBLICACION <>", value, "anioPublicacion");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionGreaterThan(Date value) {
            addCriterionForJDBCDate("ANIO_PUBLICACION >", value, "anioPublicacion");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ANIO_PUBLICACION >=", value, "anioPublicacion");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionLessThan(Date value) {
            addCriterionForJDBCDate("ANIO_PUBLICACION <", value, "anioPublicacion");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ANIO_PUBLICACION <=", value, "anioPublicacion");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionIn(List<Date> values) {
            addCriterionForJDBCDate("ANIO_PUBLICACION in", values, "anioPublicacion");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionNotIn(List<Date> values) {
            addCriterionForJDBCDate("ANIO_PUBLICACION not in", values, "anioPublicacion");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ANIO_PUBLICACION between", value1, value2, "anioPublicacion");
            return (Criteria) this;
        }

        public Criteria andAnioPublicacionNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ANIO_PUBLICACION not between", value1, value2, "anioPublicacion");
            return (Criteria) this;
        }

        public Criteria andNumPaginasIsNull() {
            addCriterion("NUM_PAGINAS is null");
            return (Criteria) this;
        }

        public Criteria andNumPaginasIsNotNull() {
            addCriterion("NUM_PAGINAS is not null");
            return (Criteria) this;
        }

        public Criteria andNumPaginasEqualTo(Short value) {
            addCriterion("NUM_PAGINAS =", value, "numPaginas");
            return (Criteria) this;
        }

        public Criteria andNumPaginasNotEqualTo(Short value) {
            addCriterion("NUM_PAGINAS <>", value, "numPaginas");
            return (Criteria) this;
        }

        public Criteria andNumPaginasGreaterThan(Short value) {
            addCriterion("NUM_PAGINAS >", value, "numPaginas");
            return (Criteria) this;
        }

        public Criteria andNumPaginasGreaterThanOrEqualTo(Short value) {
            addCriterion("NUM_PAGINAS >=", value, "numPaginas");
            return (Criteria) this;
        }

        public Criteria andNumPaginasLessThan(Short value) {
            addCriterion("NUM_PAGINAS <", value, "numPaginas");
            return (Criteria) this;
        }

        public Criteria andNumPaginasLessThanOrEqualTo(Short value) {
            addCriterion("NUM_PAGINAS <=", value, "numPaginas");
            return (Criteria) this;
        }

        public Criteria andNumPaginasIn(List<Short> values) {
            addCriterion("NUM_PAGINAS in", values, "numPaginas");
            return (Criteria) this;
        }

        public Criteria andNumPaginasNotIn(List<Short> values) {
            addCriterion("NUM_PAGINAS not in", values, "numPaginas");
            return (Criteria) this;
        }

        public Criteria andNumPaginasBetween(Short value1, Short value2) {
            addCriterion("NUM_PAGINAS between", value1, value2, "numPaginas");
            return (Criteria) this;
        }

        public Criteria andNumPaginasNotBetween(Short value1, Short value2) {
            addCriterion("NUM_PAGINAS not between", value1, value2, "numPaginas");
            return (Criteria) this;
        }

        public Criteria andCantidadIsNull() {
            addCriterion("CANTIDAD is null");
            return (Criteria) this;
        }

        public Criteria andCantidadIsNotNull() {
            addCriterion("CANTIDAD is not null");
            return (Criteria) this;
        }

        public Criteria andCantidadEqualTo(Short value) {
            addCriterion("CANTIDAD =", value, "cantidad");
            return (Criteria) this;
        }

        public Criteria andCantidadNotEqualTo(Short value) {
            addCriterion("CANTIDAD <>", value, "cantidad");
            return (Criteria) this;
        }

        public Criteria andCantidadGreaterThan(Short value) {
            addCriterion("CANTIDAD >", value, "cantidad");
            return (Criteria) this;
        }

        public Criteria andCantidadGreaterThanOrEqualTo(Short value) {
            addCriterion("CANTIDAD >=", value, "cantidad");
            return (Criteria) this;
        }

        public Criteria andCantidadLessThan(Short value) {
            addCriterion("CANTIDAD <", value, "cantidad");
            return (Criteria) this;
        }

        public Criteria andCantidadLessThanOrEqualTo(Short value) {
            addCriterion("CANTIDAD <=", value, "cantidad");
            return (Criteria) this;
        }

        public Criteria andCantidadIn(List<Short> values) {
            addCriterion("CANTIDAD in", values, "cantidad");
            return (Criteria) this;
        }

        public Criteria andCantidadNotIn(List<Short> values) {
            addCriterion("CANTIDAD not in", values, "cantidad");
            return (Criteria) this;
        }

        public Criteria andCantidadBetween(Short value1, Short value2) {
            addCriterion("CANTIDAD between", value1, value2, "cantidad");
            return (Criteria) this;
        }

        public Criteria andCantidadNotBetween(Short value1, Short value2) {
            addCriterion("CANTIDAD not between", value1, value2, "cantidad");
            return (Criteria) this;
        }

        public Criteria andIdiomaIsNull() {
            addCriterion("IDIOMA is null");
            return (Criteria) this;
        }

        public Criteria andIdiomaIsNotNull() {
            addCriterion("IDIOMA is not null");
            return (Criteria) this;
        }

        public Criteria andIdiomaEqualTo(String value) {
            addCriterion("IDIOMA =", value, "idioma");
            return (Criteria) this;
        }

        public Criteria andIdiomaNotEqualTo(String value) {
            addCriterion("IDIOMA <>", value, "idioma");
            return (Criteria) this;
        }

        public Criteria andIdiomaGreaterThan(String value) {
            addCriterion("IDIOMA >", value, "idioma");
            return (Criteria) this;
        }

        public Criteria andIdiomaGreaterThanOrEqualTo(String value) {
            addCriterion("IDIOMA >=", value, "idioma");
            return (Criteria) this;
        }

        public Criteria andIdiomaLessThan(String value) {
            addCriterion("IDIOMA <", value, "idioma");
            return (Criteria) this;
        }

        public Criteria andIdiomaLessThanOrEqualTo(String value) {
            addCriterion("IDIOMA <=", value, "idioma");
            return (Criteria) this;
        }

        public Criteria andIdiomaLike(String value) {
            addCriterion("IDIOMA like", value, "idioma");
            return (Criteria) this;
        }

        public Criteria andIdiomaNotLike(String value) {
            addCriterion("IDIOMA not like", value, "idioma");
            return (Criteria) this;
        }

        public Criteria andIdiomaIn(List<String> values) {
            addCriterion("IDIOMA in", values, "idioma");
            return (Criteria) this;
        }

        public Criteria andIdiomaNotIn(List<String> values) {
            addCriterion("IDIOMA not in", values, "idioma");
            return (Criteria) this;
        }

        public Criteria andIdiomaBetween(String value1, String value2) {
            addCriterion("IDIOMA between", value1, value2, "idioma");
            return (Criteria) this;
        }

        public Criteria andIdiomaNotBetween(String value1, String value2) {
            addCriterion("IDIOMA not between", value1, value2, "idioma");
            return (Criteria) this;
        }

        public Criteria andEstadoIsNull() {
            addCriterion("ESTADO is null");
            return (Criteria) this;
        }

        public Criteria andEstadoIsNotNull() {
            addCriterion("ESTADO is not null");
            return (Criteria) this;
        }

        public Criteria andEstadoEqualTo(String value) {
            addCriterion("ESTADO =", value, "estado");
            return (Criteria) this;
        }

        public Criteria andEstadoNotEqualTo(String value) {
            addCriterion("ESTADO <>", value, "estado");
            return (Criteria) this;
        }

        public Criteria andEstadoGreaterThan(String value) {
            addCriterion("ESTADO >", value, "estado");
            return (Criteria) this;
        }

        public Criteria andEstadoGreaterThanOrEqualTo(String value) {
            addCriterion("ESTADO >=", value, "estado");
            return (Criteria) this;
        }

        public Criteria andEstadoLessThan(String value) {
            addCriterion("ESTADO <", value, "estado");
            return (Criteria) this;
        }

        public Criteria andEstadoLessThanOrEqualTo(String value) {
            addCriterion("ESTADO <=", value, "estado");
            return (Criteria) this;
        }

        public Criteria andEstadoLike(String value) {
            addCriterion("ESTADO like", value, "estado");
            return (Criteria) this;
        }

        public Criteria andEstadoNotLike(String value) {
            addCriterion("ESTADO not like", value, "estado");
            return (Criteria) this;
        }

        public Criteria andEstadoIn(List<String> values) {
            addCriterion("ESTADO in", values, "estado");
            return (Criteria) this;
        }

        public Criteria andEstadoNotIn(List<String> values) {
            addCriterion("ESTADO not in", values, "estado");
            return (Criteria) this;
        }

        public Criteria andEstadoBetween(String value1, String value2) {
            addCriterion("ESTADO between", value1, value2, "estado");
            return (Criteria) this;
        }

        public Criteria andEstadoNotBetween(String value1, String value2) {
            addCriterion("ESTADO not between", value1, value2, "estado");
            return (Criteria) this;
        }

        public Criteria andFecRegistroIsNull() {
            addCriterion("FEC_REGISTRO is null");
            return (Criteria) this;
        }

        public Criteria andFecRegistroIsNotNull() {
            addCriterion("FEC_REGISTRO is not null");
            return (Criteria) this;
        }

        public Criteria andFecRegistroEqualTo(Date value) {
            addCriterionForJDBCDate("FEC_REGISTRO =", value, "fecRegistro");
            return (Criteria) this;
        }

        public Criteria andFecRegistroNotEqualTo(Date value) {
            addCriterionForJDBCDate("FEC_REGISTRO <>", value, "fecRegistro");
            return (Criteria) this;
        }

        public Criteria andFecRegistroGreaterThan(Date value) {
            addCriterionForJDBCDate("FEC_REGISTRO >", value, "fecRegistro");
            return (Criteria) this;
        }

        public Criteria andFecRegistroGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("FEC_REGISTRO >=", value, "fecRegistro");
            return (Criteria) this;
        }

        public Criteria andFecRegistroLessThan(Date value) {
            addCriterionForJDBCDate("FEC_REGISTRO <", value, "fecRegistro");
            return (Criteria) this;
        }

        public Criteria andFecRegistroLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("FEC_REGISTRO <=", value, "fecRegistro");
            return (Criteria) this;
        }

        public Criteria andFecRegistroIn(List<Date> values) {
            addCriterionForJDBCDate("FEC_REGISTRO in", values, "fecRegistro");
            return (Criteria) this;
        }

        public Criteria andFecRegistroNotIn(List<Date> values) {
            addCriterionForJDBCDate("FEC_REGISTRO not in", values, "fecRegistro");
            return (Criteria) this;
        }

        public Criteria andFecRegistroBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("FEC_REGISTRO between", value1, value2, "fecRegistro");
            return (Criteria) this;
        }

        public Criteria andFecRegistroNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("FEC_REGISTRO not between", value1, value2, "fecRegistro");
            return (Criteria) this;
        }

        public Criteria andFecModificacionIsNull() {
            addCriterion("FEC_MODIFICACION is null");
            return (Criteria) this;
        }

        public Criteria andFecModificacionIsNotNull() {
            addCriterion("FEC_MODIFICACION is not null");
            return (Criteria) this;
        }

        public Criteria andFecModificacionEqualTo(Date value) {
            addCriterionForJDBCDate("FEC_MODIFICACION =", value, "fecModificacion");
            return (Criteria) this;
        }

        public Criteria andFecModificacionNotEqualTo(Date value) {
            addCriterionForJDBCDate("FEC_MODIFICACION <>", value, "fecModificacion");
            return (Criteria) this;
        }

        public Criteria andFecModificacionGreaterThan(Date value) {
            addCriterionForJDBCDate("FEC_MODIFICACION >", value, "fecModificacion");
            return (Criteria) this;
        }

        public Criteria andFecModificacionGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("FEC_MODIFICACION >=", value, "fecModificacion");
            return (Criteria) this;
        }

        public Criteria andFecModificacionLessThan(Date value) {
            addCriterionForJDBCDate("FEC_MODIFICACION <", value, "fecModificacion");
            return (Criteria) this;
        }

        public Criteria andFecModificacionLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("FEC_MODIFICACION <=", value, "fecModificacion");
            return (Criteria) this;
        }

        public Criteria andFecModificacionIn(List<Date> values) {
            addCriterionForJDBCDate("FEC_MODIFICACION in", values, "fecModificacion");
            return (Criteria) this;
        }

        public Criteria andFecModificacionNotIn(List<Date> values) {
            addCriterionForJDBCDate("FEC_MODIFICACION not in", values, "fecModificacion");
            return (Criteria) this;
        }

        public Criteria andFecModificacionBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("FEC_MODIFICACION between", value1, value2, "fecModificacion");
            return (Criteria) this;
        }

        public Criteria andFecModificacionNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("FEC_MODIFICACION not between", value1, value2, "fecModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroIsNull() {
            addCriterion("USU_REGISTRO is null");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroIsNotNull() {
            addCriterion("USU_REGISTRO is not null");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroEqualTo(String value) {
            addCriterion("USU_REGISTRO =", value, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroNotEqualTo(String value) {
            addCriterion("USU_REGISTRO <>", value, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroGreaterThan(String value) {
            addCriterion("USU_REGISTRO >", value, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroGreaterThanOrEqualTo(String value) {
            addCriterion("USU_REGISTRO >=", value, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroLessThan(String value) {
            addCriterion("USU_REGISTRO <", value, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroLessThanOrEqualTo(String value) {
            addCriterion("USU_REGISTRO <=", value, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroLike(String value) {
            addCriterion("USU_REGISTRO like", value, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroNotLike(String value) {
            addCriterion("USU_REGISTRO not like", value, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroIn(List<String> values) {
            addCriterion("USU_REGISTRO in", values, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroNotIn(List<String> values) {
            addCriterion("USU_REGISTRO not in", values, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroBetween(String value1, String value2) {
            addCriterion("USU_REGISTRO between", value1, value2, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuRegistroNotBetween(String value1, String value2) {
            addCriterion("USU_REGISTRO not between", value1, value2, "usuRegistro");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionIsNull() {
            addCriterion("USU_MODIFICACION is null");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionIsNotNull() {
            addCriterion("USU_MODIFICACION is not null");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionEqualTo(String value) {
            addCriterion("USU_MODIFICACION =", value, "usuModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionNotEqualTo(String value) {
            addCriterion("USU_MODIFICACION <>", value, "usuModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionGreaterThan(String value) {
            addCriterion("USU_MODIFICACION >", value, "usuModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionGreaterThanOrEqualTo(String value) {
            addCriterion("USU_MODIFICACION >=", value, "usuModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionLessThan(String value) {
            addCriterion("USU_MODIFICACION <", value, "usuModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionLessThanOrEqualTo(String value) {
            addCriterion("USU_MODIFICACION <=", value, "usuModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionLike(String value) {
            addCriterion("USU_MODIFICACION like", value, "usuModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionNotLike(String value) {
            addCriterion("USU_MODIFICACION not like", value, "usuModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionIn(List<String> values) {
            addCriterion("USU_MODIFICACION in", values, "usuModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionNotIn(List<String> values) {
            addCriterion("USU_MODIFICACION not in", values, "usuModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionBetween(String value1, String value2) {
            addCriterion("USU_MODIFICACION between", value1, value2, "usuModificacion");
            return (Criteria) this;
        }

        public Criteria andUsuModificacionNotBetween(String value1, String value2) {
            addCriterion("USU_MODIFICACION not between", value1, value2, "usuModificacion");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}